package com.keyholesoftware.trango.service.jpa;

import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import com.keyholesoftware.trango.annotations.JPANature;
import com.keyholesoftware.trango.annotations.TrangoService;

privileged aspect JPANatureServiceAspect {
	
	declare @type: @TrangoService @JPANature * : @Service;
	declare @type: @TrangoService @JPANature * : @Configurable;
	declare @type: @TrangoService @JPANature *: @Transactional(propagation = Propagation.SUPPORTS, readOnly = true);
	declare parents: @TrangoService @JPANature * extends JPAPersistentService;
}
